{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "9e848534-9691-4888-b27c-466417aa496e",
   "metadata": {},
   "source": [
    "## 文档操作"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "05676f88-0a5d-453d-8a3a-f7313fb1c6e0",
   "metadata": {
    "tags": []
   },
   "source": [
    "### 导入依赖包"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "2328d58f-d734-49f2-a11b-ca77e9886409",
   "metadata": {
    "collapsed": true,
    "jupyter": {
     "outputs_hidden": true
    },
    "tags": []
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "'pip' 不是内部或外部命令，也不是可运行的程序\n",
      "或批处理文件。\n"
     ]
    }
   ],
   "source": [
    "## 导入操作word文档和PDF文档的依赖库\n",
    "! pip install pdfplumber"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6b5504ea-70e7-4681-aa85-8b2b51be7a68",
   "metadata": {},
   "source": [
    "### 1. PDF文档操作"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bdcc4616-fc34-454f-90d8-63707dadb7c3",
   "metadata": {},
   "source": [
    "#### 读取文档"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "e403577f-9f7f-47fa-b630-b147c306d5bf",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "import pdfplumber\n",
    "pdf = pdfplumber.open(\"测试文档/test1.pdf\")\n",
    "pages = pdf.pages"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "2adb9ece-84af-49da-a5e6-6018b0234953",
   "metadata": {
    "collapsed": true,
    "jupyter": {
     "outputs_hidden": true
    },
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Beijing\n",
      "Beijing,China'ssprawlingcapital,isacityimbuedwithhistory,culture,andinnovation.Spanning\n",
      "over 16,410 square kilometers, it is a hub of economic activity, political power, and cultural\n",
      "wealth. Home to more than 21 million people, Beijing is a melting pot where tradition meets\n",
      "modernity,creatingauniqueblendthatisquintessentiallyChinese.\n",
      "Since the earliest days of China's recorded history, Beijing has been a pivotal center. The city's\n",
      "rich past is evident in its numerousarchitectural marvels. The Forbidden City,a palatial heart of\n",
      "the ancientChinese empire, is atestament to the grandeurof China's imperial past.Its intricate\n",
      "design andmajesticbeauty attractmillionsofvisitorseach year,who marvel atitsopulence and\n",
      "historicalsignificance.\n",
      "Not far from the Forbidden City lies Tiananmen Square, the world's largest public square, a\n",
      "symbolofnationalpride,andaplacesteepedinmodernhistory.TheNationalMuseumofChina\n",
      "flanks the square's east side, offering visitors a comprehensive overview of China's illustrious\n",
      "historyandrichculture.\n",
      "Abitfurtherfromthecitycenter,wefindtheGreatWallofChina.Thisiconicmonument,winding\n",
      "through mountains and valleys, stands as a symbol of resilience and ingenuity. A visit to Beijing\n",
      "wouldbeincompletewithoutsettingfootonthismagnificentfeatofancientengineering.\n",
      "But Beijing is not just about history. The city is also a beacon of modernity and innovation. The\n",
      "iconicBird'sNeststadiumandtheWaterCube,botharchitecturalwondersfromthe2008Beijing\n",
      "Olympics,showcasethecity'scommitmenttomoderndesignandsustainability.\n",
      "In the realmof technology and business, Beijing has established itself asa global hub. It's home\n",
      "to tech giants like Baidu, JD.com, and ByteDance, driving innovation in everything from\n",
      "e-commercetoartificialintelligence.\n",
      "The city's culture is as vibrant as its skyline. Beijing's culinary scene is diverse, boasting\n",
      "world-renowned Peking duck and an array of other dishes. The city's numerous markets and\n",
      "shoppingdistrictsoffereverythingfromhighfashiontotraditionalChinesecrafts.\n",
      "Beijing is a city of contrasts, where centuries-old palaces stand beside towering skyscrapers,\n",
      "where ancient traditions blend with cutting-edge technology, where the old and new coexist in\n",
      "harmony.It'sacitythatoffersawindowintoChina'spast,aglimpseofitsfuture,andaviewofits\n",
      "thriving present. From its bustling streets to its tranquil temples, every facet of Beijing tells a\n",
      "storyofacitythatisdeeplyrootedinitshistory,yetambitiouslyreachingforthestars.\n",
      "Shanghai, the most populous city in China, is a vibrant metropolis where East meets West.\n",
      "Spanning 6,341 square kilometers, Shanghai is an international hub for finance, commerce, and\n",
      "culture.Thecityscapeisastunningblendoftraditionalandmodernarchitecture,underscoredby\n",
      "the impressive skyline of Pudong District, wherethe iconicOriental Pearl Tower and the soaring\n",
      "ShanghaiTower,oneoftheworld'stallestbuildings,manifestthecity'sprogress.\n",
      "Shanghai's rich history is preserved in areas like the Bund, a historic waterfront lined with\n",
      "colonial-erabuildings. Itserves asa vivid reminderof the city's colonialpast,juxtaposed against\n",
      "themodernskylineacrosstheHuangpuRiver.\n",
      "In the depth of its culture, Shanghai is equally mesmerizing. From the bustling Nanjing Road\n",
      "shopping district to the tranquility of Yuyuan Garden, from the delicacy of Shanghai-style soup\n",
      "dumplingstotheartisticexpressionsin theM50ArtDistrict,Shanghaiinterweavestradition and\n",
      "modernity in a uniquely captivating way, embodying China's vibrant dynamism and cultural\n",
      "richness.\n",
      "Here'sasimpleASCIIrepresentation:\n",
      "No. Fruit Price($)\n",
      "1 Apple 1\n",
      "2 Banana 0.5\n",
      "3 Pear 0.7\n",
      "4 Orange 1\n",
      "Guangzhou, located in southern China, is the capital of Guangdong Province and one of the\n",
      "largestcitiesinChina.Guangzhouhasalonghistoryandwasoneoftheearliestportsforforeign\n",
      "trade in China, as well as a cultural center in southern China. The food culture in Guangzhou is\n",
      "richanddiverse,withvarioussnacksandspecialtydishessuchasroastgoose,charsiu,whitecut\n",
      "chicken,etc.Guangzhouhasmanyattractions,suchasBaiyunMountain,YuexiuPark,PearlRiver\n",
      "Night Cruise, etc. Guangzhou has convenient transportation, with various means of\n",
      "transportation such as subway, bus, taxi, etc. Guangzhou has a warm and humid climate, with\n",
      "four seasons like spring, making it a good place to travel. Guangzhou is a vibrant and charming\n",
      "city,worthavisit.\n",
      "\n"
     ]
    }
   ],
   "source": [
    "# 读取所有页面的文本内容\n",
    "with pdfplumber.open(\"测试文档/test1.pdf\") as pdf:\n",
    "    for page in pdf.pages:\n",
    "        print(page.extract_text())\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "21eb63cd-e312-439c-a824-36b635491487",
   "metadata": {
    "collapsed": true,
    "jupyter": {
     "outputs_hidden": true
    },
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": "\"                                                                                  \\n                                                                                  \\n                                                                                  \\n                                                                                  \\n                                                                                  \\n                                                                                  \\n                                                                                  \\n            Beijing                                                               \\n                                                                                  \\n                                                                                  \\n            Beijing,China'ssprawlingcapital,isacityimbuedwithhistory,culture,andinnovation.Spanning\\n            over 16,410 square kilometers, it is a hub of economic activity, political power, and cultural\\n                                                                                  \\n            wealth. Home to more than 21 million people, Beijing is a melting pot where tradition meets\\n            modernity,creatingauniqueblendthatisquintessentiallyChinese.          \\n                                                                                  \\n            Since the earliest days of China's recorded history, Beijing has been a pivotal center. The city's\\n            rich past is evident in its numerousarchitectural marvels. The Forbidden City,a palatial heart of\\n                                                                                  \\n            the ancientChinese empire, is atestament to the grandeurof China's imperial past.Its intricate\\n            design andmajesticbeauty attractmillionsofvisitorseach year,who marvel atitsopulence and\\n            historicalsignificance.                                               \\n                                                                                  \\n            Not far from the Forbidden City lies Tiananmen Square, the world's largest public square, a\\n                                                                                  \\n            symbolofnationalpride,andaplacesteepedinmodernhistory.TheNationalMuseumofChina\\n            flanks the square's east side, offering visitors a comprehensive overview of China's illustrious\\n            historyandrichculture.                                                \\n                                                                                  \\n            Abitfurtherfromthecitycenter,wefindtheGreatWallofChina.Thisiconicmonument,winding\\n                                                                                  \\n            through mountains and valleys, stands as a symbol of resilience and ingenuity. A visit to Beijing\\n            wouldbeincompletewithoutsettingfootonthismagnificentfeatofancientengineering.\\n                                                                                  \\n            But Beijing is not just about history. The city is also a beacon of modernity and innovation. The\\n            iconicBird'sNeststadiumandtheWaterCube,botharchitecturalwondersfromthe2008Beijing\\n                                                                                  \\n            Olympics,showcasethecity'scommitmenttomoderndesignandsustainability.  \\n                                                                                  \\n            In the realmof technology and business, Beijing has established itself asa global hub. It's home\\n            to tech giants like Baidu, JD.com, and ByteDance, driving innovation in everything from\\n            e-commercetoartificialintelligence.                                   \\n                                                                                  \\n                                                                                  \\n            The city's culture is as vibrant as its skyline. Beijing's culinary scene is diverse, boasting\\n            world-renowned Peking duck and an array of other dishes. The city's numerous markets and\\n            shoppingdistrictsoffereverythingfromhighfashiontotraditionalChinesecrafts.\\n                                                                                  \\n                                                                                  \\n            Beijing is a city of contrasts, where centuries-old palaces stand beside towering skyscrapers,\\n            where ancient traditions blend with cutting-edge technology, where the old and new coexist in\\n            harmony.It'sacitythatoffersawindowintoChina'spast,aglimpseofitsfuture,andaviewofits\\n            thriving present. From its bustling streets to its tranquil temples, every facet of Beijing tells a\\n            storyofacitythatisdeeplyrootedinitshistory,yetambitiouslyreachingforthestars.\\n                                                                                  \\n                                                                                  \\n                                                                                  \\n                                                                                  \\n                                                                                  \\n                                                                                  \\n                                                                                  \\n                                                                                  \\n                                                                                  \\n                                                                                  \""
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 获取单页文本（保留布局）\n",
    "text = pages[0].extract_text(layout=True)\n",
    "text"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d796c7fd-81bd-4f03-8fc8-10eca75b9028",
   "metadata": {},
   "source": [
    "### 2. 表格操作"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "943686d5-645c-4e97-b56b-9a4a017897c3",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": "[['No.', 'Fruit', 'Price($)'],\n ['1', 'Apple', '1'],\n ['2', 'Banana', '0.5'],\n ['3', 'Pear', '0.7'],\n ['4', 'Orange', '1']]"
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "table = pages[1].extract_table()\n",
    "table"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "fc64ace6-a6da-431e-9994-f03bd06be2cb",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  No.   Fruit Price($)\n",
      "0   1   Apple        1\n",
      "1   2  Banana      0.5\n",
      "2   3    Pear      0.7\n",
      "3   4  Orange        1\n"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "\n",
    "\n",
    "df = pd.DataFrame(table[1:], columns=table[0])\n",
    "\n",
    "print(df)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "19d44c16-6a43-4d9f-bed4-3e7d5503e544",
   "metadata": {},
   "source": [
    "### 3. 图片操作"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "854bfbe2-0167-4f8f-8b0a-039eb9661f85",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": "[{'x0': 90.0,\n  'y0': 462.82,\n  'x1': 260.52,\n  'y1': 718.1800000000001,\n  'width': 170.51999999999998,\n  'height': 255.36000000000007,\n  'stream': <PDFStream(24): raw=36782, {'BitsPerComponent': 8, 'ColorSpace': /'DeviceRGB', 'Filter': /'DCTDecode', 'Height': 500, 'Length': 36782, 'Subtype': /'Image', 'Type': /'XObject', 'Width': 334}>,\n  'srcsize': (334, 500),\n  'imagemask': None,\n  'bits': 8,\n  'colorspace': [/'DeviceRGB'],\n  'mcid': None,\n  'tag': None,\n  'object_type': 'image',\n  'page_number': 3,\n  'top': 123.71999999999991,\n  'bottom': 379.08,\n  'doctop': 1807.52}]"
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pages[2].images"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "003eb945-2c88-4566-8408-fa27a6b1451a",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": "<pdfplumber.display.PageImage at 0x1e86ee87b50>",
      "image/png": "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"
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "img = pages[2].images[0]\n",
    "bbox = (img[\"x0\"], img[\"top\"], img[\"x1\"], img[\"bottom\"])\n",
    "cropped_page = pages[2].crop(bbox)\n",
    "cropped_page.to_image()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9d4bbda2-ecba-4d7c-8add-af625c9ec19e",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
